package com.arvin.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.validation.constraints.Pattern;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.URL;

import java.time.LocalDateTime;
import java.util.List;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
//报名信息表
public class Student {
    @Pattern(regexp = "12[0-9]")
    private String studentId;//学号
    private String oldStudentId; // 旧学号
    private String email;//邮箱
    private String className; // 所在卓越班名称
    @JsonIgnore
    private String password;//密码
    private List<Contest> contest;//竞赛信息
    private Integer examId;//笔试id
    private Integer intvId;//面试id
    private Integer exemId;//免试id
    @URL
    private String stuImage;//照片
    private String stuName;//姓名
    private String stuSex;//性别
    private String stuDepartment;//学院
    private String year; // 班级年份
    private Integer classNumber; // 班级号
    private String stuClass;//班级
    private String stuSpeciality;//专业
    private String stuGrade;//年级
    private String stuPhone;//手机号
    private String stuSkill;//技能方向
    private String stuSkillStack;//技术栈
    private String stuIntention;//意向
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;//创建时间
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;//修改时间
}
